package com.yan.config;

import java.util.HashMap;
import java.util.Map;

/**
 * TODO
 *
 * @Author: 汪焰
 * @Date: 2021/7/22 0:17
 */
public class RabbitConstants {

    /**
     * 死信队列 名字（死信队列：队列中过期或销毁了的信息 转存的队列）
     */
    public static final String DLX_QUEUE_NAME = "yan.homework.dlx.queue";
    /**
     * 死信队列 交换器
     */
    public static final String DLX_QUEUE_EXCHANGE = "yan.homework.dlx.exchange";
    /**
     * 死信队列 路由键
     */
    public static final String DLX_QUEUE_ROUTING_KEY = "yan.homework.dlx.routingKey";

    /**
     * 订单 队列 名字
     */
    public static final String ORDER_QUEUE_NAME = "yan.homework.order.queue";
    /**
     * 订单 队列 交换机
     */
    public static final String ORDER_QUEUE_EXCHANGE = "yan.homework.order.exchange";
    /**
     * 订单 队列 路由键
     */
    public static final String ORDER_QUEUE_ROUTING_KEY = "yan.homework.order.routingKey";
    /**
     * 订单 队列 过期时间
     */
    public static final int QUEUE_EXPIRED_TIME = 10000;

    /**
     * 消息队列 绑定 死信队列 参数
     */
    public static Map<String, Object> arguments = new HashMap<>();

    static {
        //指定消息队列中的消息过期时间
        arguments.put("x-message-ttl", QUEUE_EXPIRED_TIME);
        //指定死信队列交换器 ： 过期消息 通过死信交换器 发送到死信队列
        arguments.put("x-dead-letter-exchange", DLX_QUEUE_EXCHANGE);
        //指定死信交换器的路由键
        arguments.put("x-dead-letter-routing-key", DLX_QUEUE_ROUTING_KEY);
    }
}
